package dewu;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 字符串删除
 * 小A有一个长度为 n 的字符串s. 可以对 s 执行如下操作: 删除 s 的一个字符, 并拼接剩下的字符.
 * 例如, 字符串 s=abcda, 小众可以删除第三个字符, 从而得到新的字符串abda.
 * 某一天, 小A得到了另一个长度为 m 的字符串 t. 现在, 小A想知道最少删除 s 多少个字符, 才能使得 t 作为 s 的某个连续子串出现.
 * 如果无论如何也不能使得 t 在 s 中出现, 则输出 -1.
 * 输入：
 * 第一行输入一行字符串s
 * 第二行输入一行字符串t
 *
 * @author Liu Yicong
 * @date 2025/9/26
 */
/*
---- 用例1 ----
输入：
abcdefgh
acg
输出：
4
---- 用例2 ----
baaaaa
ab
输出：
-1
---- 用例3 ----
abbbcccdabdabcd
abd
输出：
0
 */
public class Algs3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		String t = sc.nextLine();
		sc.close();
		System.out.println(checkOpt(s, t));
	}


	public static int checkOpt(String s, String t) {
		int m = s.length();
		int n = t.length();

		// 如果t比s长，直接返回-1
		if (n > m) {
			return -1;
		}

		// 如果t为空字符串，不需要删除任何字符
		if (n == 0) {
			return 0;
		}

		int minDeletions = Integer.MAX_VALUE;

		// 遍历s中所有可能的起始位置
		for (int i = 0; i <= m - n; i++) {
			int k = 0; // t的指针
			int j = i; // s的指针
			int deletions = 0;

			// 尝试匹配t的所有字符
			while (k < n && j < m) {
				if (s.charAt(j) == t.charAt(k)) {
					k++;
					j++;
				} else {
					deletions++;
					j++;
				}
			}

			// 如果成功匹配了t的所有字符
			if (k == n) {
				// 计算总共需要删除的字符数
				minDeletions = Math.min(minDeletions, deletions);
			}
		}

		return minDeletions == Integer.MAX_VALUE ? -1 : minDeletions;
	}

}
